package cz.vse.adventura.po1715.xforv00_forejt.hra;

import cz.pecinovsky.english.pojj.adv_framework.game_txt.ICommand;
import static cz.vse.adventura.po1715.xforv00_forejt.hra.Texty.pHELP;
import static cz.vse.adventura.po1715.xforv00_forejt.hra.Texty.pHELPpopis;

/*******************************************************************************
 * Instance třídy {@code PříkazHelp} představuje nápovědu
 *
 * @author    Vladimír FOREJT
 * @version   0.00.000
 */
public class PříkazHelp extends APříkaz
{
//== KONSTANTNÍ ATRIBUTY TŘÍDY =================================================
//== PROMĚNNÉ ATRIBUTY TŘÍDY ===================================================
//== STATICKÝ INICIALIZAČNÍ BLOK - STATICKÝ KONSTRUKTOR ========================
//== KONSTANTNÍ ATRIBUTY INSTANCÍ ==============================================
//== PROMĚNNÉ ATRIBUTY INSTANCÍ ================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ TŘÍDY ========================================
//== OSTATNÍ NESOUKROMÉ METODY TŘÍDY ===========================================

//##############################################################################
//== KONSTRUKTORY A TOVÁRNÍ METODY =============================================

    /***************************************************************************
     * 
     */
    public PříkazHelp()
    {
        super(pHELP, pHELPpopis);
    }



//== ABSTRAKTNÍ METODY =========================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ =====================================
//== OSTATNÍ NESOUKROMÉ METODY INSTANCÍ ========================================

    /***************************************************************************
     *Vrátí seznam příkazů s jejich popisy
     *
     * @param žádné
     * @return Text zprávy vypsané po provedení příkazu
     */
    @Override
    public String execute( String... parametry )
    {
        StringBuilder sb = new StringBuilder(pHELPpopis);
        for(ICommand ap : APříkaz.getPříkazy()) {
            String název = ap.getName();
            String popis = ap.getDescription();
            sb.append("\n").append(název).append(" - ").append(popis);
        }
        return sb.toString();
    }

//== SOUKROMÉ A POMOCNÉ METODY TŘÍDY ===========================================
//== SOUKROMÉ A POMOCNÉ METODY INSTANCÍ ========================================
//== INTERNÍ DATOVÉ TYPY =======================================================
//== TESTY A METODA MAIN =======================================================
//
//    /***************************************************************************
//     * Testovací metoda.
//     */
//    public static void test()
//    {
//        PříkazHelp inst = new PříkazHelp();
//    }
//    /** @param args Parametry příkazového řádku - nepoužívané. */
//    public static void main( String[] args )  {  test();  }
}
